// 示例 1:

// 输入: s = "abcabcbb"
// 输出: 3
// 解释: 因为无重复字符的最长子串是 "abc"，所以其长度为 3。
// 示例 2:

// 输入: s = "bbbbb"
// 输出: 1
// 解释: 因为无重复字符的最长子串是 "b"，所以其长度为 1。
// 示例 3:

// 输入: s = "pwwkew"
// 输出: 3
// 解释: 因为无重复字符的最长子串是 "wke"，所以其长度为 3。
// 请注意，你的答案必须是 子串 的长度，"pwke" 是一个子序列，不是子串。

s = "abcabcbb"

var lengthOfLongestSubstring = function (s) {
    let result = ''
    let maxLen = 0
    for (let str of s) {
        if (result.indexOf(str) !== -1) {
            result = result.slice(result.indexOf(str) + 1)
        }
        result += str
        maxLen = Math.max(maxLen, result.length)
    }
    return maxLen;
};

var lengthOfLongestSubstring = function (s) {
    let strs = '';
    let maxLen = 0;

    for (let str of s) {
        if (strs.indexOf(str) === -1) {
            strs += str
        } else {
            strs = strs.slice(strs.indexOf(str) + 1) + str
        }
        maxLen = Math.max(maxLen, strs.length)
    }
    return maxLen;
}
console.log(lengthOfLongestSubstring(s));
